Among the tools and methods used for evaluating and analyzing the performance of computers is a memory dump. In typical prior memory dumps, the contents of all memory locations, along with various registers, accumulators, and the like, are written to a permanent storage medium. A memory dump is either initiated by a user or is automatically initiated upon detection of certain conditions, such as error conditions.
A memory dump is used to assist in evaluating computer performance, and, in particular, for diagnosing pathologic or error conditions in a computer. By knowing the contents of the memory locations, registers, and the like, the analyst can, in most cases, determine the source of the error or pathologic condition. This enables the analyst to determine what, if any, alterations to the software and/or hardware need to be undertaken to prevent or reduce the recurrence of such error conditions in the future.
Certain error conditions are associated with overwriting or destruction of some memory locations. In a few cases, the destruction or overwriting occurs at memory locations which had previously contained the data needed to analyze the error condition. Nevertheless, in the great majority of cases, information needed to analyze the error condition is found somewhere in the memory dump.
A difficulty with providing a memory dump is that it prevents at least a part of the computing device from operating in its normal fashion. That is, the memory dump takes a certain amount of time and, during this time, the computer is not available for its normal use. A further difficulty with memory dumps is that large volumes of data are produced. When memory dumps are stored, as is often the case with large producers of computers, the volume of storage needed for past memory dumps can be quite large.
Both the above-mentioned problems are exacerbated as larger memories are provided for computers. In a computer with a main memory of, e.g., 96 megabytes (mb) (96.times.2.sup.10 bytes), a dump of the full memory might take 10-12 minutes.
Accordingly, it would be advantageous to provide for a memory dump which generally produces the information needed for analysis, but which takes less time and less data storage to accomplish.